package com.su.kddq.service.user;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.su.kddq.entity.user.Order;
import com.su.kddq.entity.user.PayOrder;
import com.su.kddq.entity.user.User;
import com.su.kddq.entity.user.UserWallet;
import com.su.kddq.entity.user.vo.UserLogin;
import com.su.kddq.entity.user.vo.UserRegister;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

/**
 * @author sx
 */
public interface UserService extends IService<User> {

    /**
     * 获取用户信息
     * @param username
     * @return
     */
    Map<String,Object> getUserInfo(String username);

    /**
     * 查询用户ByPhone
     * @param phone
     * @return
     */
    User selectByUsername(String phone);

    /**
     * oss文件上云
     * @param file
     * @return
     */
    String UpUserAvatar(MultipartFile file);

    /**
     * 发送短信
     * @param phone
     * @return
     */
    boolean sendMsm(String phone);

    /**
     * 注册
     * @param userRegister
     * @return
     */
    boolean register(UserRegister userRegister);

    /**
     * 刷新令牌
     * @param dataMap
     * @return
     */
    Map<String,String> reFreshToken(Map dataMap);

    /**
     * 支付宝支付
     * @param money
     * @return
     */
    Map<String, Object> toPay(String money);

    /**
     * 查询钱包
     * @return
     */
    UserWallet queryWallet();

    /**
     * 取件员上、下线
     * @param map
     * @return
     */
    Map changeMyStatus(Map map);


    /**
     * 检查版本更新
     * @param version
     * @return
     */
    Map checkUpdate(String version);


    /**
     * 查询用户充值流水
     * @param pageNum
     * @param pageSize
     * @return
     */
    IPage<PayOrder> queryPayOrder(Integer pageNum, Integer pageSize);

}
